package com.xuhao.didi.socket.common.interfaces.common_interfacies.server;

public interface IServerActionListener {
    /**
     * 使用说明
     *
     * @param serverPort 服务端口
     */
    void onServerListening(int serverPort);

    /**
     * 连接
     *
     * @param client 客户
     * @param serverPort 服务
     * @param clientPool 客户端口
     */
    void onClientConnected(IClient client, int serverPort, IClientPool clientPool);

    /**
     * 断开
     *
     * @param client 客户端
     * @param serverPort 服务端
     * @param clientPool 客户端
     */
    void onClientDisconnected(IClient client, int serverPort, IClientPool clientPool);

    /**
     * 服务器关机
     *
     * @param serverPort 服务端
     * @param shutdown 关闭
     * @param clientPool 客户端
     * @param throwable 异常
     */
    void onServerWillBeShutdown(int serverPort, IServerShutdown shutdown, IClientPool clientPool, Throwable throwable);

    /**
     * 服务关闭
     *
     * @param serverPort 服务端
     */
    void onServerAlreadyShutdown(int serverPort);
}
